www.gusucode.com > matlab从零到进阶程序与数据 > matlab从零到进阶程序与数据/第5章 图形用户界面(GUI)编程/ex54_2.m
%创建界面窗口,不包含工具条 h0=figure('toolbar','none',... 'position',[200 150 450 250],... 'name','ex54_2',... 'numbertitle','off'); %在窗口中绘制正弦曲线 x=0:0.5:2*pi; y=sin(x); h=plot(x,y); grid on %创建静态文本控件 hm=uicontrol(h0,'style','text',... 'string',... '绘图函数',... 'position',[380 180 50 20]); %创建弹出式菜单控件,并初始化其string属性值 hm=uicontrol(h0,'style','popupmenu',... 'string',... 'sin(x)|cos(x)|sin(x)+cos(x)',... 'position',[380 150 50 20]); %设置弹出式菜单的第一项为默认选项 set(hm,'value',1) %定义弹出式菜单的callback,为字符数组 my_callback=[... 'v=get(hm,''value'');,',... 'switch v,',... 'case 1,',... 'delete(h),',... 'y=sin(x);,',... 'h=plot(x,y);,',... 'grid on,',... 'case 2,',... 'delete(h),',... 'y=cos(x);,',... 'h=plot(x,y);,',... 'grid on,',... 'case 3,',... 'delete(h),',... 'y=sin(x)+cos(x);,',... 'h=plot(x,y);,',... 'grid on,',... 'end']; %设置弹出式菜单的callback属性值 set(hm,'callback',my_callback) %设置坐标轴的位置和大小,坐标轴对象的units属性缺省值为normalized set(gca,'position',[0.2 0.2 0.6 0.6])